package com.b.service;

import java.util.List;

import org.springframework.data.domain.PageRequest;

import com.b.domain.Video;

public interface RecommendationService {
    /**
     * 基于协同过滤推荐视频
     * @param userId 用户ID
     * @param pageRequest 分页请求
     * @return 推荐视频列表
     */
    List<Video> recommendVideos(Integer userId, PageRequest pageRequest);
    
    /**
     * 基于当前视频ID推荐相似视频
     * @param userId 用户ID
     * @param videoId 当前视频ID
     * @param pageRequest 分页请求
     * @return 推荐视频列表
     */
    List<Video> recommendVideosByVideoId(Integer userId, Integer videoId, PageRequest pageRequest);
    
    /**
     * 获取热门视频（基于播放量、点赞数等）
     * @param pageRequest 分页请求
     * @return 热门视频列表
     */
    List<Video> getPopularVideos(PageRequest pageRequest);
    
    /**
     * 基于分类获取视频
     * @param categoryId 分类ID
     * @param pageRequest 分页请求
     * @return 分类视频列表
     */
    List<Video> getVideosByCategory(Integer categoryId, PageRequest pageRequest);
}